Урок 21 – Эффекты

В этом уроке мы будем добавлять различные эффекты нашим объектам, и первое что мы сделаем – это добавим теневые клоны. Скоро вы поймете о чем я говорю. Добавьте в начале такое расширение.

Теперь продублируем игрока и назовем его теневым клоном.

Удалим у него поведение Physics 2. Далее перейдем к событиям и создадим новую группу событий.

В условии ничего не указываем, а в действии выбираем такой:

Здесь думаю все понятно если посмотреть на названия пунктов. Теперь запускаем игру.

Мне не нравится тень. Давайте ее удалим у боих объектов, установим заново и оставим значения по умолчанию, только цвет укажем черный.

Такой результат мне уже больше нравится.

Теперь давайте добавим эффект дрожащей камеры, чтобы удары о препятствия казались более сильными.

Для этого добавим еще одно расширение – это Camera Shake.

Я люблю эффекты добавлять на нажатия клавиш для тестирования, так легче проверять тот или иной эффект. Давайте сделаем это с эффектом трясения камеры.

Теперь находясь в игре если мы нажмем на пробел, то сразу увидим эффект трясущейся камеры.

И последний эффект, который мы хотим добавить – это эффект частиц. Для начала нам нужно создать новый объект типа “Излучатель частиц”.

Давайте изучим данный эффект по порядку:

Object name – здесь мы задаем имя объекта;

Particle type (Типы частиц).

Для излучателей частиц доступны 3 режима визуализации: круги, линии и текстуры.

  • Режим “Круг” отображает круги указанного размера.
  • Режим линии, отображает линии с указанной длиной и толщиной.
  • В режиме текстуры будет отображаться изображение указанного размера.

Color (Цвет).

Вы можете выбрать начальный цвет для частиц и цвет, до которого они будут исчезать. Вы также можете выбрать начальное и конечное значения непрозрачности объекта.

При включении галочки Additive Rendering, цвет частиц смешивается с цветом фона, где частицы и появляются (как эффект “Оттенка” в Фотошопе).

А галочка Delete when out of particles удаляет объект, когда появятся все частицы.

Переходим к следующему разделу.

Maximum number of particles displayed – количество частиц которые могут быть отображены одновременно на экране;

Number of particles in tank (-1 for infinite) – сколько частиц будет создано. -1 для бесконечности;

Flow of particles – сколько частиц можно создать за секунду;

Minimum emitter force applied on particles – минимальная сила воздействия излучателя на частицы. Чем она выше чем быстрее и дальше вылетает частица;

Maximum emitter force applied on particles – максимальная сила воздействия излучателя на частицы;

Spray cone angle – угол распыления;

Radius of rhe emitter – радиус действия излучателя;

Gravity on particles on X axis – сила тяжести на частицах по оси X. При высоких плюсовых значениях заставляет частицы лететь дальше и быстрее влево;

Gravity on particles on Y axis – сила тяжести на частицах по оси Y. При высоких плюсовых значениях заставляет частицы лететь дальше и быстрее вниз;

Particle minimum lifetime – минимальный срок жизни частицы в секундах;

Particle maximum lifetime – максимальный срок жизни частицы в секундах;

Particle start size – изначальный размер частицы в процентах;

Particle end size – конечный размер частицы в процентах;

Particle minimum rotation speed – минимальная скорость вращения частиц;

Particle maximum rotation speed – максимальная скорость вращения частиц;

Jump forward in time on creation – когда мы запускаем сцену, излучатель только начинает испускать частицы, и если мы хотим, чтобы частица уже заполонили экран (например для эффекта снега), то можно перепрыгнуть во времени. Т.е. если мы поставим 10 секунд в параметре, то сцена запустится и частицы будут ввести себя так, будто начали появляется 10 секунд назад.

В нашей игре и укажем такие настройки:

Теперь нам надо создать этот излучатель частиц в месте столкновения. Но пока мы настроим его на нажатие пробела.

Далее настром Z-order для этих частиц чтобы при создании они находились за препятствием.

И осталось изменить их направление так, чтобы они выстреливали вверх.

Проверяем. Все должно работать.

Теперь создадим условие, чтобы частицы появлялись при столкновении с препятствиями Obstacle и Moving Obstacle. Для этого создадим группу, куда поместим эти объекты.

Далее создаем новое событие, когда Player сталкивается с объектами из нашей группы.

Запускаем. Мне не нравится, что трясение камеры происходит даже тогда когда наш объект врезается с очень маленькой скоростью. Давайте сделаем так что трясение камеры и выпадающие частицы будут происходить если объект врезается с большой скоростью в преграды.

Проверяем. Теперь эффект должен сработать если Player наберет скорость больше 70 и столкнется с объектом из группы ObstacleGroup.

Последнее чтобы я хотел поправить – это чтобы тени у объекта начинались от центра, а не как сейчас слева.

Для этого нам просто надо поменять начальную точку у объекта и теней.

Теперь все хорошо))

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *